perm filename TAPMUS.F4[EX2,LCS]1 blob sn#168902 filedate 1975-07-17 generic text, type T, neo UTF8
00100	C FEB 21,73 ****** 
00150	COPIES .DMD FILES TO AND FROM TAPE FOR FURTHER PROCESSING.  *****
00200	C   LOAD WITH "CVTIO.REL"-- TYPE '-1' FOR FINAL NAME TO RETURN TO NAME #1.
00210	C   TYPE 'HELP' FOR INFO.
00300	C   TO ADD TO DATA ALREADY ON TAPE, TYPE 'END' AS NAME #1.
00500	C   TO RESTORE TO DSK, TYPE 'RESTORE'.  TO MOVE TO MIDDLE OF TAPE, TYPE
00600	C   'NAME   END'.  'NAME' WILL BE LAST FILE PASSED ON TAPE.
00700	C   'BACKSPACE' MOVES BACK TO START OF CURRENT FILE.
00800	C   'COPY' COPIES FROM MTA1 TO MTA0. 'RESET' INSURES EOT POSITION.
00900		DIMENSION JSB(1024)
01000		EQUIVALENCE (JSB(5),JSB5),(JSB(3),JSB3),(JSB(4),JSB4)
01100	100	FORMAT(' TYPE NAME #1'/)
01200	200	FORMAT(' TYPE FINAL NAME'/)
01300	300	FORMAT(2XA5,'   MAXAMP=',I5)
01400	400	FORMAT(2XA5,1XA5,'   MAXAMP=',I5)
01500	401	FORMAT(A5,1XA5)
01600	500	FORMAT(' POSSIBLE COMMANDS:'/' END'/' NAME END'/' BACKSPACE'/
01625		1,' RESTORE'/' COPY (COPIES FROM MTA1 TO MTA0)'/' REWIND'/'
01640		1, RESET (REPOSITIONS EOT)'/'
01650		1 --IF JUST NAMES ARE GIVEN, THEY WILL BE WRITTEN ON MTA0'/
01675		1' TYPE -1 TO BACKUP TO NAME #1'/)
01700	600	FORMAT(' MOVING TO END OF TAPE')
01800	800	FORMAT(' ******** REMEMBER MAXAMP NUMBER!!')
01900	700	FORMAT(A1)
02000	900	FORMAT(' WRITE ON MTA0??'/)
02100		RESTO=0
02200		NM2=0
02300		COPY=0
02400		JNM='AAAAA'
02500	54	TYPE 100
02550		RESET=0
02600		CALL GETTAP
02700		ACCEPT 401,NAME,NM2
02800		IF(NAME.NE.'HELP')GO TO 541
02825		TYPE 500
02850		GO TO 54
02875	541	IF(NAME.EQ.'BACKS')GO TO 440
02900		IF(NAME.EQ.'RESTO')RESTO=-1.
03000		IF((NAME.EQ.'END'.OR.NM2.NE.' ').AND.RESTO.EQ.0)GO TO 220
03100		IF(NAME.NE.'REWIN')GO TO 1201
03200		REWIND 16
03300		GO TO 54
03400	1201	IF(NAME.EQ.' ')NAME='MUSAA'
03450		IF(NAME.EQ.'RESET')GO TO 4400
03500	2	JNM=JNM+((NAME-JNM)/256*256)
03600		KNM=JNM
03700	C   AUTOMATICALLY SETS BASIC NAME TO 'A' ENDING.
03800	1002	TYPE 200
03900		ACCEPT 401,NM2
04000		IF(NM2.EQ.'-1')GO TO 54
04100		IF(RESTO)GO TO 7
04200		IF(NM2.EQ.' ')NM2=NAME
04300		TYPE 900
04400		ACCEPT 700,K
04500		IF(K.NE.'Y')GO TO 54
04600		IF(NAME.EQ.'COPY')GO TO 777
04700	11	CALL GETFIL(NAME)
04800		CALL FASTIN(JSB(1),128)
04900		JSB4=9999
05000		JSB5=9998
05100		JSB3=NAME
05200		CALL TOTAPE(JSB(1),128)
05300		JSC=JSB(1)
05500	111	CALL FASTIN(JSB(1),JSC)
05600		CALL TOTAPE(JSB(1),JSC)
05700		IF(JSB(JSC).EQ.0)GO TO 111
05800	6	TYPE 300,NAME,JSB(JSC)
05900		IF(NAME.EQ.NM2)GO TO 22
06000		NAME=NAME+2
06100		IF(NAME.LE.JNM+50)GO TO 11
06200		JNM=JNM+256
06300		IF(JNM.LE.KNM+6400)GO TO 1017
06400		KNM=JNM+26112
06500		JNM=KNM
06600	C   RAISES 'AAAZA' TO 'AABAA'
06700	1017	NAME=JNM
06800		GO TO 11
06900	
07000	222	NAME=NM2
07100	22	JSB(1)=-1
07200		JSB3=NAME
07300		JSB4=9999
07400		JSB5=9998
07500		CALL TOTAPE(JSB(1),128)
07600	C    '-1' MARKS END OF THIS BATCH OF DATA.
07700	C    '9999' IDENTIFIES IT AS MUSIC DATA WHEN TAPE IS READ.
07800		CALL FINTAP
07900		CALL BACKSP
08000		CALL BACKSP
08100		TYPE 800
08200		CALL EXIT
08300	
08400	C   ***** NEXT MOVES TO END OF TAPE ****
08500	220	TYPE 600
08600		NM2=NAME
08700	210	CALL INTAPE(JSB(1),128)
08800		IF(JSB5.NE.9998)GO TO 210
08900		JSC=JSB(1)
09000		N=JSB3
09100		IF(JSC.NE.-1)GO TO 310
09200	CC	NM2=' '
09300	230	TYPE 400,NM2,JSB3
09400		CALL BACKSP
09500		GO TO 54
09600	310	CALL INTAPE(JSB(1),JSC)
09700		IF(JSB(JSC).EQ.0)GO TO 310
09800		TYPE 300,N,JSB(JSC)
09900		IF(N.EQ.NM2)GO TO 54
10000		GO TO 210
10010	
10020	4400	RESET=-1.
10030		CALL BACKSPACE
10040		CALL BACKSPACE
10050		CALL BACKSPACE
10060		CALL BACKSPACE
10065		NAME='ENDOF'
10070		GO TO 220
10100	
10200	C   ***** NEXT BACKSPACES *****
10300	440	CALL BACKSPACE
10400		CALL BACKSPACE
10500		CALL INTAPE(JSB(1),128)
10600		IF(JSB4.NE.9999)GO TO 440
10700		NM2=' REDO'
10800		GO TO 230
10900	
11000	C   ***** NEXT RESTORES FILES TO DSK OR COPIES TAPE TO TAPE ******
11100	777	CALL MTA1
11200		COPY=-1.
11300	7	K=5
11400	77	IF(RESTO)CALL INTAPE(JSB(1),128)
11500		IF(COPY)CALL INMTA1(JSB(1),128)
11600		K=K-1
11700		IF(COPY.AND.K)GO TO 22
11800	C  JUMP TO PUT PROPER EOT MARK.
11900	CC** NOV.6,71	IF(JSB(1).OR.K)CALL EXIT
11950		IF(K)CALL EXIT
11975		IF(JSB(1).GE.0)GO TO 771
11987		IF(COPY)GO TO 222
11993		CALL EXIT
12000	C  MAR. 13,71
12100	CC	IF(JSB(1).EQ.-1.OR.JSB4.NE.9999)GO TO 77 
12200	771	IF(JSB4.NE.9999)GO TO 77
12300		K=5
12400		JSC=JSB(1)
12500		KNM=' '
12600		N=JSB3
12700		IF(COPY)GO TO 88
12800		CALL PUTFIL(JSB3)
12900		CALL FASTOU(JSB(1),128)
13000		GO TO 8
13100	88	CALL TOTAPE(JSB(1),128)
13200	
13300	8	IF(COPY)GO TO 188
13400	 	CALL INTAPE(JSB(1),JSC)
13500		CALL FASTOU(JSB(1),JSC)
13600		GO TO 288
13700	188	CALL INMTA1(JSB(1),JSC)
13800		CALL TOTAPE(JSB(1),JSC)
13900	288	IF(JSB(JSC).EQ.0)GO TO 8
14000	CC	TYPE 400,KNM,N
14100		TYPE 400,KNM,N,JSB(JSC)
14200	CC	TYPE 300,N,JSB(JSC)
14300		IF(RESTO)CALL FINFIL
14400		IF(N.NE.NM2)GO TO 7
14500		IF(COPY)GO TO 222
14600		END